package com.sky.annotation;

import com.sky.enumeration.OperationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解，用于表标识某方法的功能性字段自动填充处理
 */
//表示注解标在方法上
@Target(ElementType.METHOD)
//修饰注解的生命周期，这里表示这个注解在运行时也会被保留，因此可以通过反射机制来读取到这个注解的信息
/*
其他参数：
1.RetentionPolicy.SOURCE表示在源代码时期保留，用来给编译器提供信息
2.RetentionPolicy.CLASS编译时期保留，运行时无法通过反射机制获取
 */

@Retention(RetentionPolicy.RUNTIME)
public @interface AutoFill {
    //注解的参数：这里用来表示操作的类型
    OperationType value();
}
